home *** CD-ROM | disk | FTP | other *** search
/ Magic Disk 64 / Magic_Disk_64_95-08_1995_-_de_Side_B.d64 / sprite-source #4 < prev    next >
Text File  |  2023-02-26  |  5KB  |  252 lines

  1.  
  2.  
  3. ;---------------------------------------
  4. ;
  5. ;          - S P R I T E S -
  6. ;
  7. ;           Source-File #4:
  8. ;
  9. ;        '15 Jumping Smilies'
  10. ;
  11. ;          by Hannes Sommer
  12. ;
  13. ;       (c) 1993 CP-Verlag Gmbh
  14. ;
  15. ;---------------------------------------
  16.  
  17.  
  18. v        = 53248
  19.  
  20. y        = 832
  21. x        = 848
  22. xhi      = 864
  23. b        = 880
  24. c        = 896
  25. set      = 912
  26. ymove    = 928
  27.  
  28.  
  29.          *= $0840
  30.  
  31.          .byte 0,255,0,3,255,192
  32.          .byte 15,255,240,31,255,248
  33.          .byte 63,255,252,63,255,252
  34.          .byte 127,189,254,127,189,254
  35.          .byte 255,189,255,255,255,255
  36.          .byte 255,255,255,247,255,239
  37.          .byte 251,255,223,124,126,62
  38.          .byte 127,129,254,63,255,252
  39.          .byte 63,255,252,31,255,248
  40.          .byte 15,255,240,3,255,192
  41.          .byte 0,255,0,0
  42.  
  43.          lda #255   ;Initialisierung!
  44.          sta v+21
  45.          lda #0
  46.          sta i0+1
  47.          sta ii0+1
  48.          sta $d021
  49.          ldx #63
  50. init     sta 704,x ;Sprite #11 clear!
  51.          dex
  52.          bpl init
  53.  
  54.          ldx #0
  55. i0       lda #0
  56.          clc
  57.          adc #24
  58.          sta i0+1
  59.          sta x,x
  60.          bcc ii0
  61.          inc ii0+1
  62. ii0      lda #0     ;Sprite-Paramater
  63.          sta xhi,x  ;setzen...
  64.          lda #11
  65.          sta b,x
  66.          lda cols,x
  67.          sta c,x
  68.          inx
  69.          cpx #15
  70.          bne i0
  71.  
  72.  
  73.          sei        ;IRQ-Setup!
  74.          lda #<irq
  75.          sta $0314
  76.          lda #>irq
  77.          sta $0315
  78.          lda #129
  79.          sta $d01a
  80.          lda #27
  81.          sta $d011
  82.          lda #5
  83.          sta $d012
  84.          cli
  85.  
  86.          ldx #0
  87. i1       lda text,x
  88.          beq i2
  89.          jsr $ffd2
  90.          inx
  91.          bne i1
  92. i2
  93.  
  94.  
  95. end      rts
  96.  
  97.  
  98. text     .byte 13,18
  99.          .text "15 jumping smilies "
  100.          .text "aktiviert."
  101.          .byte 146,13,13,0
  102.  
  103.  
  104. ;---------------------------------------
  105. ;               I R Q
  106. ;---------------------------------------
  107.  
  108.  
  109. irq      lda $d019
  110.          sta $d019
  111.          bmi t1
  112.          lda $dc0d
  113.          cli
  114.          jmp $ea31
  115. t1
  116.          lda $d011
  117.          bmi t1
  118.  
  119.          lda #27
  120.          sta $d011
  121.  
  122.          ldx #14   ;** Multiplexer! **
  123. t2       lda $d012
  124.          cmp #250
  125.          bcs t10
  126.          ldy set,x
  127.          bne t3
  128.          clc
  129.          adc #1
  130.          cmp y,x
  131.          bcs t3
  132.          adc #20
  133.          cmp y,x
  134.          bcs t4
  135. t3       dex
  136.          bpl t2
  137.          bmi t2-2
  138.  
  139. t4       lda #0
  140.          and #7
  141.          tay
  142.          lda b,x
  143.          sta 2040,y
  144.          lda c,x
  145.          sta v+39,y
  146.          lda xhi,x
  147.          bne t5
  148.          lda v+16
  149.          and und,y
  150.          sta v+16
  151.          jmp t6
  152. t5       lda v+16
  153.          ora oder,y
  154.          sta v+16
  155. t6       tya
  156.          asl a
  157.          tay
  158.          lda y,x
  159.          sta v+1,y
  160.          lda x,x
  161.          sta v,y
  162.          inc t4+1
  163.          inc set,x
  164.          jmp t3
  165. t10
  166.          lda #19    ;Border oeffnen!
  167.          sta $d011
  168.  
  169.  
  170.          ldx #14    ;Zuruecksetzen der
  171.          lda #0     ;SET-Flags!
  172.          sta t4+1
  173. t11      sta set,x
  174.          dex
  175.          bpl t11
  176.  
  177.          inc ypoint ;Y-Jump-Pointer
  178.          lda ypoint ;erhoehen...
  179.          cmp #120
  180.          bne tt11
  181.          lda #0
  182.          sta ypoint
  183. tt11     sta t12+1
  184.  
  185.          ldx #0
  186. t12      ldy #0
  187.          lda ytab,y ;Y-Koordinaten
  188.          clc        ;schreiben
  189.          adc #24
  190.          sta y,x
  191.          lda t12+1
  192.          clc
  193.          adc #8
  194.          cmp #120
  195.          bcc t13
  196.          sec
  197.          sbc #120
  198. t13      sta t12+1
  199.          dec x,x    ;X-Bewegung...
  200.          lda x,x
  201.          cmp #255
  202.          bne t15
  203.          lda xhi,x
  204.          bne t14
  205.          lda #1
  206.          sta xhi,x
  207.          lda #103
  208.          sta x,x
  209.          lda #33
  210.          sta b,x
  211.          bne t15
  212. t14      lda #0
  213.          sta xhi,x
  214. t15
  215.          inx
  216.          cpx #15
  217.          bne t12
  218.  
  219. irqend   jmp $ea81
  220.  
  221.  
  222.  
  223. oder     .byte 1,2,4,8,16,32,64,128
  224. und      .byte 254,253,251,247
  225.          .byte 239,223,191,127
  226.  
  227. cols     .byte 7,10,8,9,2,4,6
  228.          .byte 14,3,1,15,12,11,5,13
  229.  
  230. ypoint   .byte 0
  231.  
  232. ytab     .byte 0,0,0,0
  233.          .byte 1,1,1,2,2,2,3,3
  234.          .byte 4,4,5,6,7,8,9,10
  235.          .byte 12,14,16,18,20,22,25,28
  236.          .byte 31,34,37,40,44,48,52,56
  237.          .byte 60,64,69,74,79,84,89,94
  238.          .byte 100,106,112,118
  239.          .byte 124,130,137,144
  240.          .byte 151,158,165,173,181
  241.          .byte 189,197,205,213,221,229
  242.          .byte 221,213,205,197,189
  243.          .byte 181,173,165,158,151
  244.          .byte 144,137,130,124
  245.          .byte 118,112,106,100
  246.          .byte 94,89,84,79,74,69,64,60
  247.          .byte 56,52,48,44,40,37,34,31
  248.          .byte 28,25,22,20,18,16,14,12
  249.          .byte 10,9,8,7,6,5,4,4
  250.          .byte 3,3,2,2,2,1,1,1
  251.  
  252.